<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.1.6 or newer
 *
 * @package        CodeIgniter
 * @author        ExpressionEngine Dev Team
 * @copyright    Copyright (c) 2008 - 2011, EllisLab, Inc.
 * @license        http://codeigniter.com/user_guide/license.html
 * @link        http://codeigniter.com
 * @since        Version 1.0
 * @filesource
 */
// ------------------------------------------------------------------------

/**
 * CodeIgniter Path Helpers
 *
 * @package        CodeIgniter
 * @subpackage    Helpers
 * @category    Helpers
 * @author        ExpressionEngine Dev Team
 * @link        http://codeigniter.com/user_guide/helpers/xml_helper.html
 */
// ------------------------------------------------------------------------

/**
 * Set Realpath
 *
 * @access    public
 * @param    string
 * @param    bool    checks to see if the path exists
 * @return    string
 */
if (!function_exists('set_realpath')) {

    function set_realpath($path, $check_existance = FALSE) {
        // Security check to make sure the path is NOT a URL.  No remote file inclusion!
        if (preg_match("#^(http:\/\/|https:\/\/|www\.|ftp|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})#i", $path)) {
            show_error('The path you submitted must be a local server path, not a URL');
        }

        // Resolve the path
        if (function_exists('realpath') AND @realpath($path) !== FALSE) {
            $path = realpath($path) . '/';
        }

        // Add a trailing slash
        $path = preg_replace("#([^/])/*$#", "\\1/", $path);

        // Make sure the path exists
        if ($check_existance == TRUE) {
            if (!is_dir($path)) {
                show_error('Not a valid path: ' . $path);
            }
        }

        return $path;
    }

}


/* End of file path_helper.php */
/* Location: ./system/helpers/path_helper.php */